package l1j.opqlo.NewSystem.ItemStatus;

import java.util.HashMap;
import java.util.Map;

public class ItemStatusName {

	private static ItemStatusName _instance;

	public static final int EthnicityMax = 7;// 種族增傷數量
	/**
	 * 種族傷害設定 0=普通、1=不死系、2=惡魔系、3=BOSS系、4=亡靈系、5=狼人系、6=龍系
	 */
	private static final Map<Integer, String> _ethnicityName = new HashMap<Integer, String>();

	private static final Map<Integer, String> _ethnicityLogName = new HashMap<Integer, String>();
	/**
	 * 屬性增傷 //1=地、2=火、4=水、8=風
	 */
	private static final Map<Integer, String> _attrName = new HashMap<Integer, String>();
	private static final Map<Integer, String> _attrDefName = new HashMap<Integer, String>();
	private static final Map<Integer, String> _attrLogNameAtk = new HashMap<Integer, String>();
	private static final Map<Integer, String> _attrLogNameDef = new HashMap<Integer, String>();
	private static final Map<Integer, String> _statusLogName = new HashMap<Integer, String>();
	private static final Map<Integer, String> _WeaponAttrLevel1 = new HashMap<Integer, String>();
	private static final Map<Integer, String> _WeaponAttrLevel2 = new HashMap<Integer, String>();
	private static final Map<Integer, String> _WeaponAttrLevel4 = new HashMap<Integer, String>();
	private static final Map<Integer, String> _WeaponAttrLevel5 = new HashMap<Integer, String>();
	private static final Map<Integer, String> _WeaponAttrLevel6 = new HashMap<Integer, String>();
	private static final Map<Integer, String> _WeaponAttrLevel8 = new HashMap<Integer, String>();

	public static ItemStatusName get() {
		if (_instance == null) {
			_instance = new ItemStatusName();
			_instance.load();
		}
		return _instance;
	}

	public String getAttrKindName(final int kind, final int attrlevel) {

		switch (kind) {
		case 1:
			return _WeaponAttrLevel1.get(attrlevel);
		case 2:
			return _WeaponAttrLevel2.get(attrlevel);
		case 4:
			return _WeaponAttrLevel4.get(attrlevel);
		case 5:
			return _WeaponAttrLevel5.get(attrlevel);
		case 6:
			return _WeaponAttrLevel6.get(attrlevel);
		case 8:
			return _WeaponAttrLevel8.get(attrlevel);
		}
		return null;
	}

	/** 1.2.4.8 */
	public String getAttrLogNameAtk(final int i) {
		return _attrLogNameAtk.get(i);
	}
	
	public String getAttrLogNameDef(final int i){
		return _attrLogNameDef.get(i);
	}

	public String getAttrName(final int i) {
		return _attrName.get(i);
	}
	
	public String getAttrDefName(final int i) {
		return _attrDefName.get(i);
	}

	public String getEthnicityLogName(final int i) {
		return _ethnicityLogName.get(i);
	}

	public String getEthnicityName(final int i) {
		return _ethnicityName.get(i);
	}

	public String getStatusLogName(final int i) {
		return _statusLogName.get(i);
	}

	public void load() {
		_ethnicityLogName.put(new Integer(0), " 無種族 ");
		_ethnicityLogName.put(new Integer(1), " 不死族 ");
		_ethnicityLogName.put(new Integer(2), " 惡魔族 ");
		_ethnicityLogName.put(new Integer(3), " 頭目族 ");
		_ethnicityLogName.put(new Integer(4), " 亡靈族 ");
		_ethnicityLogName.put(new Integer(5), " 狼族 ");
		_ethnicityLogName.put(new Integer(6), " 龍族 ");
		_ethnicityLogName.put(new Integer(7), " 人族 ");

		_ethnicityName.put(new Integer(0), "無種族增傷 ");
		_ethnicityName.put(new Integer(1), "不死族增傷 ");
		_ethnicityName.put(new Integer(2), "惡魔族增傷 ");
		_ethnicityName.put(new Integer(3), "頭目族增傷 ");
		_ethnicityName.put(new Integer(4), "亡靈族增傷 ");
		_ethnicityName.put(new Integer(5), "狼族增傷 ");
		_ethnicityName.put(new Integer(6), "龍族增傷 ");
		_ethnicityName.put(new Integer(7), "人族增傷 ");

		_attrName.put(new Integer(1), "地屬性增傷 ");
		_attrName.put(new Integer(2), "火屬性增傷 ");
		_attrName.put(new Integer(4), "水屬性增傷 ");
		_attrName.put(new Integer(5), "光屬性增傷 ");
		_attrName.put(new Integer(6), "闇屬性增傷 ");
		_attrName.put(new Integer(8), "風屬性增傷 ");
		
		_attrDefName.put(new Integer(1), "地屬性減傷 ");
		_attrDefName.put(new Integer(2), "火屬性減傷 ");
		_attrDefName.put(new Integer(4), "水屬性減傷 ");
		_attrDefName.put(new Integer(5), "光屬性減傷 ");
		_attrDefName.put(new Integer(6), "闇屬性減傷 ");
		_attrDefName.put(new Integer(8), "風屬性減傷 ");
		

		_attrLogNameAtk.put(new Integer(1), " 地攻");
		_attrLogNameAtk.put(new Integer(2), " 火攻");
		_attrLogNameAtk.put(new Integer(4), " 水攻");
		_attrLogNameAtk.put(new Integer(8), " 風攻");
		_attrLogNameAtk.put(new Integer(5), " 光攻");
		_attrLogNameAtk.put(new Integer(6), " 闇攻");
		
		_attrLogNameDef.put(new Integer(1), " 地減");
		_attrLogNameDef.put(new Integer(2), " 火減");
		_attrLogNameDef.put(new Integer(4), " 水減");
		_attrLogNameDef.put(new Integer(8), " 風減");
		_attrLogNameDef.put(new Integer(5), " 光減");
		_attrLogNameDef.put(new Integer(6), " 闇減");

		/** 順序: 力=0敏=1智=2精=3體=4魅=5 */
		_statusLogName.put(new Integer(0), " 力");
		_statusLogName.put(new Integer(1), " 敏");
		_statusLogName.put(new Integer(2), " 智");
		_statusLogName.put(new Integer(3), " 精");
		_statusLogName.put(new Integer(4), " 體");
		_statusLogName.put(new Integer(5), " 魅");

		_WeaponAttrLevel1.put(new Integer(1), "地一");
		_WeaponAttrLevel1.put(new Integer(2), "地二");
		_WeaponAttrLevel1.put(new Integer(3), "地三");
		_WeaponAttrLevel1.put(new Integer(4), "地四");
		_WeaponAttrLevel1.put(new Integer(5), "地五");
		_WeaponAttrLevel1.put(new Integer(6), "地六");
		_WeaponAttrLevel1.put(new Integer(7), "地七");
		_WeaponAttrLevel1.put(new Integer(8), "地八");
		_WeaponAttrLevel1.put(new Integer(9), "地九");
		_WeaponAttrLevel1.put(new Integer(10), "地神");

		_WeaponAttrLevel2.put(new Integer(1), "火一");
		_WeaponAttrLevel2.put(new Integer(2), "火二");
		_WeaponAttrLevel2.put(new Integer(3), "火三");
		_WeaponAttrLevel2.put(new Integer(4), "火四");
		_WeaponAttrLevel2.put(new Integer(5), "火五");
		_WeaponAttrLevel2.put(new Integer(6), "火六");
		_WeaponAttrLevel2.put(new Integer(7), "火七");
		_WeaponAttrLevel2.put(new Integer(8), "火八");
		_WeaponAttrLevel2.put(new Integer(9), "火九");
		_WeaponAttrLevel2.put(new Integer(10), "火神");

		_WeaponAttrLevel4.put(new Integer(1), "水一");
		_WeaponAttrLevel4.put(new Integer(2), "水二");
		_WeaponAttrLevel4.put(new Integer(3), "水三");
		_WeaponAttrLevel4.put(new Integer(4), "水四");
		_WeaponAttrLevel4.put(new Integer(5), "水五");
		_WeaponAttrLevel4.put(new Integer(6), "水六");
		_WeaponAttrLevel4.put(new Integer(7), "水七");
		_WeaponAttrLevel4.put(new Integer(8), "水八");
		_WeaponAttrLevel4.put(new Integer(9), "水九");
		_WeaponAttrLevel4.put(new Integer(10), "水神");

		_WeaponAttrLevel8.put(new Integer(1), "風一");
		_WeaponAttrLevel8.put(new Integer(2), "風二");
		_WeaponAttrLevel8.put(new Integer(3), "風三");
		_WeaponAttrLevel8.put(new Integer(4), "風四");
		_WeaponAttrLevel8.put(new Integer(5), "風五");
		_WeaponAttrLevel8.put(new Integer(6), "風六");
		_WeaponAttrLevel8.put(new Integer(7), "風七");
		_WeaponAttrLevel8.put(new Integer(8), "風八");
		_WeaponAttrLevel8.put(new Integer(9), "風九");
		_WeaponAttrLevel8.put(new Integer(10), "風神");

		_WeaponAttrLevel5.put(new Integer(1), "光一");
		_WeaponAttrLevel5.put(new Integer(2), "光二");
		_WeaponAttrLevel5.put(new Integer(3), "光三");
		_WeaponAttrLevel5.put(new Integer(4), "光四");
		_WeaponAttrLevel5.put(new Integer(5), "光五");
		_WeaponAttrLevel5.put(new Integer(6), "光六");
		_WeaponAttrLevel5.put(new Integer(7), "光七");
		_WeaponAttrLevel5.put(new Integer(8), "光八");
		_WeaponAttrLevel5.put(new Integer(9), "光九");
		_WeaponAttrLevel5.put(new Integer(10), "光神");

		_WeaponAttrLevel6.put(new Integer(1), "闇一");
		_WeaponAttrLevel6.put(new Integer(2), "闇二");
		_WeaponAttrLevel6.put(new Integer(3), "闇三");
		_WeaponAttrLevel6.put(new Integer(4), "闇四");
		_WeaponAttrLevel6.put(new Integer(5), "闇五");
		_WeaponAttrLevel6.put(new Integer(6), "闇六");
		_WeaponAttrLevel6.put(new Integer(7), "闇七");
		_WeaponAttrLevel6.put(new Integer(8), "闇八");
		_WeaponAttrLevel6.put(new Integer(9), "闇九");
		_WeaponAttrLevel6.put(new Integer(10), "闇神");
	}

}
